.TH hpcg_kernel 1 "14 Sep 2017" "Man Page" "Utility Commands"

.SH NAME

hpcg_kernel \- high performance conjugate gradient kernel benchmark

.SH SYNOPSIS

\fBhpcg_kernel\fR \fImatrix_type solution_filename rhistory_filename\fR [\fIoptions\fR]

.SH DESCRIPTION

This program solves the linear equation Ax = b with additive Schwarz,
symmetric Gauss-Seidel preconditioned conjugate gradient solver, 
where the coefficient 
matrix A of size lmn is derived from a discretized three dimensional 
Poisson's equation using the twenty-seven
point central difference scheme, with the coefficient matrix 
in the storage format specified
by \fImatrix_type\fR and the solver specified by \fI options\fR. 
It outputs the solution to \fIsolution_filename\fR in the extended 
Matrix Market format and 
the residual history to \fI rhistory_filename\fR in the PLAIN format 
(see Appendix of the Lis User Guide). 
The right-hand side vector is set such that the values of the elements of the solution are 1. 
The values \fIl\fR, \fIm\fR and \fIn\fR represent the numbers of grid
points in each dimension. 

.SH OVERRIDE OPTIONS

The following options are supported:
.IP "-i \fIlinear solver\fR"
The following options are supported for \fIlinear solver\fR:
.RS 
.IP "-i {\fIcg\fR|1}"
CG
.IP "-i {\fIbicg\fR|2}"
BiCG
.IP "-i {\fIcgs\fR|3}"
CGS
.IP "-i {\fIbicgstab\fR|4}"
BiCGSTAB
.IP "-i {\fIbicgstabl\fR|5}"
BiCGSTAB(l)
.RS
.IP "-ell [2]"
The degree \fIl\fR
.RE
.IP "-i {\fIgpbicg\fR|6}"
GPBiCG
.IP "-i {\fItfqmr\fR|7}"
TFQMR
.IP "-i {\fIorthomin\fR|8}"
Orthomin(m)
.RS
.IP "-restart [40]"
The restart value \fIm\fR
.RE
.IP "-i {\fIgmres\fR|9}"
GMRES(m)
.RS
.IP "-restart [40]"
The restart value \fIm\fR
.RE
.IP "-i {\fIjacobi\fR|10}"
Jacobi
.IP "-i {\fIgs\fR|11}"
Gauss-Seidel
.IP "-i {\fIsor\fR|12}"
SOR
.RS
.IP "-omega [1.9]"
The relaxation coefficient \fIomega\fR (0<\fIomega\fR<2)
.RE
.IP "-i {\fIbicgsafe\fR|13}"
BiCGSafe
.IP "-i {\fIcr\fR|14}"
CR
.IP "-i {\fIbicr\fR|15}"
BiCR
.IP "-i {\fIcrs\fR|16}"
CRS
.IP "-i {\fIbicrstab\fR|17}"
BiCRSTAB
.IP "-i {\fIgpbicr\fR|18}"
GPBiCR
.IP "-i {\fIbicrsafe\fR|19}"
BiCRSafe
.IP "-i {\fIfgmres\fR|20}"
FGMRES(m)
.RS
.IP "-restart [40]"
The restart value \fIm\fR
.RE
.IP "-i {\fIidrs\fR|21}"
IDR(s)
.RS
.IP "-irestart [2]"
The restart value \fIs\fR
.RE
.IP "-i {\fIidr1\fR|22}"
IDR(1)
.IP "-i {\fIminres\fR|23}"
MINRES
.IP "-i {\fICOCG\fR|24}"
COCG
.IP "-i {\fICOCR\fR|25}"
COCR
.RE


.IP "-p \fIpreconditioner"
The following options are supported for \fIpreconditioner\fR:
.RS 
.IP "-p {\fInone\fR|0}"
None
.IP "-p {\fIjacobi\fR|1}"
Jacobi
.IP "-p {\fIilu\fR|2}"
ILU(k)
.RS 
.IP "-ilu_fill [0]"
The fill level \fIk\fR
.RE
.IP "-p {\fIssor\fR|3}"
SSOR
.RS 
.IP "-ssor_omega [1.0]"
The relaxation coefficient \fIomega\fR (0<\fIomega\fR<2)
.RE
.IP "-p {\fIhybrid\fR|4}"
Hybrid
.RS 
.IP "-hybrid_i [\fIsor\fR]"
The linear solver
.RE
.RS 
.IP "-hybrid_maxiter [25]"
The maximum number of the iterations
.RE
.RS 
.IP "-hybrid_tol [1.0e-3]"
The convergence criterion
.RE
.RS 
.IP "-hybrid_omega [1.5]"
The relaxation coefficient \fIomega\fR of the SOR (0<\fIomega\fR<2)
.RE
.RS 
.IP "-hybrid_ell [2]"
The degree \fIl\fR of the BiCGSTAB(l)
.RE
.RS 
.IP "-hybrid_restart [40]"
The restart values of the GMRES and Orthomin
.RE
.IP "-p {\fIis\fR|5}"
I+S
.RS 
.IP "-is_alpha [1.0]"
The parameter \fIalpha\fR of \fII+alpha*S(m)\fR
.RE
.RS 
.IP "-is_m [3]"
The parameter \fIm\fR of \fII+alpha*S(m)\fR
.RE
.IP "-p {\fIsainv\fR|6}"
SAINV
.RS 
.IP "-sainv_drop [0.05]"
The drop criterion
.RE
.IP "-p {\fIsaamg\fR|7}"
SA-AMG
.RS 
.IP "-saamg_unsym [\fIfalse\fR]"
Select the unsymmetric version (The matrix structure must be symmetric)
.RE
.RS 
.IP "-saamg_theta [0.05|0.12]"
The drop criterion
.RE
.IP "-p {\fIiluc\fR|8}"
Crout ILU
.RS 
.IP "-iluc_drop [0.05]"
The drop criterion
.RE
.RS 
.IP "-iluc_rate [5.0]"
The ration of maximum fill-in
.RE
.IP "-p {\fIilut\fR|9}"
ILUT
.RS 
.IP "-ilut_drop [0.05]"
The drop criterion
.RE
.RS 
.IP "-ilut_rate [5.0]"
The ration of maximum fill-in
.RE
.IP "-adds \fItrue\fR"
Additive Schwarz
.RS 
.IP "-adds_iter [1]"
The number of the iteration
.RE
.RE

Other Options:
.IP "-maxiter [1000]"
The maximum number of the iterations
.IP "-tol [1.0e-12]"
The convergence criterion
.IP "-print [0]"
The display of the residual history
.RS 
.IP "-print {\fInone\fR|0}"
None
.RE
.RS 
.IP "-print {\fImem\fR|1}"
Save the residual history
.RE
.RS 
.IP "-print {\fIout\fR|2}"
Display the residual history
.RE
.RS 
.IP "-print {\fIall\fR|3}"
Save the residual history and output it to the standard output
.RE
.IP "-scale [0]"
The scaling
.RS
.IP "-scale {\fInone\fR|0}"
No scaling
.RE
.RS
.IP "-scale {\fIjacobi\fR|1}"
The Jacobi scaling
.RE
.RS
.IP "-scale {\fIsymm_diag\fR|2}"
The diagonal scaling
.RE
.IP "-initx_zeros [\fItrue\fR]"
The behavior of the initial vector \fIx_0\fR
.RS 
.IP "-initx_zero {\fIfalse\fR|0}"
Given values
.RE
.RS 
.IP "-initx_zero {\fItrue\fR|1}"
All values are set to 0
.RE
.IP "-omp_num_threads [\fIt\fR]"
The number of the threads (\fIt\fR represents the maximum number of the threads)
.IP "-storage [0]"
The matrix storage format
.IP "-storage_block [2]"
The block size of the BSR and BSC formats
.IP "-f [0]"
The precision of the linear solver
.RS 
.IP "-f {\fIdouble\fR|0}"
Double precision
.RE
.RS
.IP "-f {\fIquad\fR|1}"
Double-double (quadruple) precision
.RE

See Lis User Guide for full description.

.SH EXIT STATUS

The following exit values are returned:
.IP "0"
The process is normally terminated
.IP "unspecified"
An error occurred

.SH SEE ALSO

.BR lis (3),
.BR lsolve (1),
.BR esolve (1),
.BR hpcg_spmvtest (1),
.BR spmvtest1 (1),
.BR spmvtest2 (1),
.BR spmvtest2b (1),
.BR spmvtest3 (1),
.BR spmvtest3b (1),
.BR spmvtest4 (1),
.BR spmvtest5 (1)
.PP
http://www.ssisc.org/lis/
.br
http://software.sandia.gov/hpcg/

